package cc.geguo.settree.collectionsdemo;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * 作者  Administrator
 * 时间  2017/6/19 9:07
 * 文件  collections_review
 * 描述  取出最大值
 */
public class CollectionsTest {
	public static void main(String[] args) {
		// 创建集合对象
		List<Integer> list = new ArrayList<>();
		// 添加元素
		list.add(30); list.add(20); list.add(50); list.add(10); list.add(40);
//		sortTest(list);// 如果是自定义对象 ，那么就 实现Compare 接口吧
//		binaryTest(list);
		maxTest(list);
//		reversTest(list);
//		shuffTest(list);


		// public static void reverse(List<?> list):反转
//		reversTest(list);
	}

	private static void shuffTest(List<Integer> list) {
		//public static void shuffle(List<?> list):随机置换
		Collections.shuffle(list);
		System.out.println("list:" + list);
	}

	private static void reversTest(List<Integer> list) {
		// public static void reverse(List<?> list):反转
		Collections.reverse(list);
		System.out.println("list:" + list);
	}

	private static void maxTest(List<Integer> list) {
		// public static <T> T max(Collection<?> coll):最大值
		// 直接比较对象去了 如果是自定义对象 需要覆盖 equals 方法
		System.out.println("max:"+ Collections.max(list));
	}

	private static void binaryTest(List<Integer> list) {
		// public static <T> int binarySearch(List<?> list,T key):二分查找
		System.out.println("二分查找:" + Collections.binarySearch(list, 10));
		// return -(low + 1);  // key not found
		System.out.println("二分查找:"+ Collections.binarySearch(list, 300));
	}

	private static void sortTest(List<Integer> list) {
		System.out.println("list:" + list);
		// public static <T> void sort(List<T> list)：排序 默认情况下是自然顺序。
		Collections.sort(list);
		System.out.println("自然顺序list:" + list);
	}
}
